package de.dhbw.karlsruhe.picsim.model.cpu;

/**
 * Created by IntelliJ IDEA.
 * User: goesen
 * Date: Apr 17, 2010
 * Time: 8:07:53 PM
 */
public enum Interrupt {
    TIMER {
        @Override
        public int enablePosition() {
            return 5;
        }
        @Override
        public int getFlagPosition() {
            return 2;

        }},
    RB_0 {
        @Override
        public int enablePosition() {
            return 4;
        }
        @Override
        public int getFlagPosition() {
            return 1;
        }},
    PortB {
        @Override
        public int enablePosition() {
            return 3;
        }
        @Override
        public int getFlagPosition() {
            return 0;
        }};

    /**
     * @return die Position im IntCon Register, an der das Statusflag gesetzt wird
     */
    public abstract int getFlagPosition();

    /**
     * @return die Position im IntConRegister, an der Interrupt aktiviert werden kann
     */
    public abstract int enablePosition();


}
